package com.rc.saas.tenant.vo.transfer;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.rc.saas.tenant.base.BaseModel;
import com.rc.saas.tenant.model.transfer.MemberRefundApply;
import org.springframework.format.annotation.DateTimeFormat;
import java.math.BigDecimal;
import java.util.Date;

@ExcelIgnoreUnannotated
public class MemberRefundApplyExportVo extends MemberRefundApply {

    private Long refundApplyId;
    @ExcelProperty(value = "运营商代码", index = 0)
    private String tenantCode;

    private Long memberId;
    @ExcelProperty(value = "对应真实姓名", index = 9)
    private String memberRealName;
    @ExcelProperty(value = "提现账户号码", index = 8)
    private String memberMobile;

    private String refundType;
    @ExcelProperty(value = "发起来源", index = 3)
    private String refundSource;
    @ExcelProperty(value = "提现途径", index = 7)
    private String refundBy;
    @ExcelProperty(value = "银行名称", index = 10)
    private String refundBankCode;

    private String refundBankBankcard;
    @ExcelProperty(value = "提现金额（元）", index = 5)
    private BigDecimal refundAmount;

    private String reason;

    private Date auditingTime;
    @ExcelProperty(value = "到账时间", index = 12)
    private String paymentTime;
    @ExcelProperty(value = "提现状态", index = 13)
    private String status;

    private String createdBy;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ExcelProperty(value = "申请时间", index = 11)
    private Date createdTime;

    private String lastUpdatedBy;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date lastUpdatedTime;

    @ExcelProperty(value = "会员名", index = 1)
    private String nickname;
    @ExcelProperty(value = "会员手机号", index = 2)
    private String mobile;
    @ExcelProperty(value = "提现订单号", index = 4)
    private String outTradeNo;
    @ExcelProperty(value = "用户余额", index = 6)
    private BigDecimal account;

    @ExcelProperty(value = "失败原因", index = 14)
    private String remark;

    public String getNickname() {
        return nickname;
    }

    public void setNickname(String nickname) {
        this.nickname = nickname;
    }

    public String getMobile() {
        return mobile;
    }

    public void setMobile(String mobile) {
        this.mobile = mobile;
    }

    public String getOutTradeNo() {
        return outTradeNo;
    }

    public void setOutTradeNo(String outTradeNo) {
        this.outTradeNo = outTradeNo;
    }

    public BigDecimal getAccount() {
        return account;
    }

    public void setAccount(BigDecimal account) {
        this.account = account;
    }

    public Long getRefundApplyId() {
        return refundApplyId;
    }

    public void setRefundApplyId(Long refundApplyId) {
        this.refundApplyId = refundApplyId;
    }

    public String getTenantCode() {
        return tenantCode;
    }

    public void setTenantCode(String tenantCode) {
        this.tenantCode = tenantCode;
    }

    public Long getMemberId() {
        return memberId;
    }

    public void setMemberId(Long memberId) {
        this.memberId = memberId;
    }

    public String getMemberRealName() {
        return memberRealName;
    }

    public void setMemberRealName(String memberRealName) {
        this.memberRealName = memberRealName;
    }

    public String getMemberMobile() {
        return memberMobile;
    }

    public void setMemberMobile(String memberMobile) {
        this.memberMobile = memberMobile;
    }

    public String getRefundType() {
        return refundType;
    }

    public void setRefundType(String refundType) {
        this.refundType = refundType;
    }

    public String getRefundSource() {
        if ("0".equals(refundSource)) {
            return "公众号";
        } else if ("1".equals(refundSource)) {
            return "APP";
        } else if ("2".equals(refundSource)) {
            return "小程序";
        } else if ("3".equals(refundSource)) {
            return "运营商后台";
        }
        return refundSource;
    }

    public void setRefundSource(String refundSource) {
        this.refundSource = refundSource;
    }

    public String getRefundBy() {
        if ("0".equals(refundBy)) {
            return "微信";
        } else if ("1".equals(refundBy)) {
            return "支付宝";
        } else if ("2".equals(refundBy)) {
            return "银行卡";
        }
        return refundBy;
    }

    public void setRefundBy(String refundBy) {
        this.refundBy = refundBy;
    }

    public String getRefundBankCode() {
        if ("1002".equals(refundBankCode)) {
            return "工商银行";
        } else if ("4025".equals(refundBankCode)) {
            return "广州农村商业银行";
        } else if ("4026".equals(refundBankCode)) {
            return "佛山农商银行";
        } else if ("4027".equals(refundBankCode)) {
            return "东莞农村商业银行";
        } else if ("4028".equals(refundBankCode)) {
            return "九江银行股份有限公司";
        } else if ("1005".equals(refundBankCode)) {
            return "农业银行";
        } else if ("1003".equals(refundBankCode)) {
            return "建设银行";
        } else if ("1026".equals(refundBankCode)) {
            return "中国银行";
        } else if ("1020".equals(refundBankCode)) {
            return "交通银行";
        } else if ("1001".equals(refundBankCode)) {
            return "招商银行";
        } else if ("1066".equals(refundBankCode)) {
            return "邮储银行";
        } else if ("1006".equals(refundBankCode)) {
            return "民生银行";
        } else if ("1010".equals(refundBankCode)) {
            return "平安银行";
        } else if ("1021".equals(refundBankCode)) {
            return "中信银行";
        } else if ("1004".equals(refundBankCode)) {
            return "浦发银行";
        } else if ("1009".equals(refundBankCode)) {
            return "兴业银行";
        } else if ("1022".equals(refundBankCode)) {
            return "光大银行";
        } else if ("1027".equals(refundBankCode)) {
            return "广发银行";
        } else if ("1025".equals(refundBankCode)) {
            return "华夏银行";
        } else if ("1056".equals(refundBankCode)) {
            return "宁波银行";
        } else if ("4836".equals(refundBankCode)) {
            return "北京银行";
        } else if ("1024".equals(refundBankCode)) {
            return "上海银行";
        } else if ("1054".equals(refundBankCode)) {
            return "南京银行";
        } else if ("4755".equals(refundBankCode)) {
            return "长子县融汇村镇银行";
        } else if ("4216".equals(refundBankCode)) {
            return "长沙银行";
        } else if ("4051".equals(refundBankCode)) {
            return "浙江泰隆商业银行";
        } else if ("4753".equals(refundBankCode)) {
            return "中原银行";
        } else if ("4761".equals(refundBankCode)) {
            return "企业银行（中国）";
        } else if ("4036".equals(refundBankCode)) {
            return "顺德农商银行";
        } else if ("4752".equals(refundBankCode)) {
            return "衡水银行";
        } else if ("4756".equals(refundBankCode)) {
            return "长治银行";
        } else if ("4767".equals(refundBankCode)) {
            return "大同银行";
        } else if ("4115".equals(refundBankCode)) {
            return "河南省农村信用社";
        } else if ("4150".equals(refundBankCode)) {
            return "宁夏黄河农村商业银行";
        } else if ("4156".equals(refundBankCode)) {
            return "山西省农村信用社";
        } else if ("4166".equals(refundBankCode)) {
            return "安徽省农村信用社";
        } else if ("4157".equals(refundBankCode)) {
            return "甘肃省农村信用社";
        } else if ("4153".equals(refundBankCode)) {
            return "天津农村商业银行";
        } else if ("4113".equals(refundBankCode)) {
            return "广西壮族自治区农村信用社";
        } else if ("4108".equals(refundBankCode)) {
            return "陕西省农村信用社";
        } else if ("4076".equals(refundBankCode)) {
            return "深圳农村商业银行";
        } else if ("4052".equals(refundBankCode)) {
            return "宁波鄞州农村商业银行";
        } else if ("4764".equals(refundBankCode)) {
            return "浙江省农村信用社联合社";
        } else if ("4217".equals(refundBankCode)) {
            return "江苏省农村信用社联合社";
        } else if ("4072".equals(refundBankCode)) {
            return "江苏紫金农村商业银行股份有限公司";
        } else if ("4769".equals(refundBankCode)) {
            return "北京中关村银行股份有限公司";
        } else if ("4778".equals(refundBankCode)) {
            return "星展银行（中国）有限公司";
        } else if ("4766".equals(refundBankCode)) {
            return "枣庄银行股份有限公司";
        } else if ("4758".equals(refundBankCode)) {
            return "海口联合农村商业银行股份有限公司";
        } else if ("4763".equals(refundBankCode)) {
            return "南洋商业银行（中国）有限公司";
        }
        return refundBankCode;
    }

    public void setRefundBankCode(String refundBankCode) {
        this.refundBankCode = refundBankCode;
    }

    public String getRefundBankBankcard() {
        return refundBankBankcard;
    }

    public void setRefundBankBankcard(String refundBankBankcard) {
        this.refundBankBankcard = refundBankBankcard;
    }

    public BigDecimal getRefundAmount() {
        return refundAmount;
    }

    public void setRefundAmount(BigDecimal refundAmount) {
        this.refundAmount = refundAmount;
    }

    public String getReason() {
        return reason;
    }

    public void setReason(String reason) {
        this.reason = reason;
    }

    public Date getAuditingTime() {
        return auditingTime;
    }

    public void setAuditingTime(Date auditingTime) {
        this.auditingTime = auditingTime;
    }

    public String getPaymentTime() {
        return paymentTime;
    }

    public void setPaymentTime(String paymentTime) {
        this.paymentTime = paymentTime;
    }

    public String getStatus() {
        if ("0".equals(status)) {
            return "未审核";
        } else if ("1".equals(status)) {
            return "处理";
        } else if ("2".equals(status)) {
            return "已驳回";
        } else if ("3".equals(status)) {
            return "提现中";
        } else if ("4".equals(status)) {
            return "已到账";
        } else if ("5".equals(status)) {
            return "提现失败";
        }
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public String getCreatedBy() {
        return createdBy;
    }

    public void setCreatedBy(String createdBy) {
        this.createdBy = createdBy;
    }

    public Date getCreatedTime() {
        return createdTime;
    }

    public void setCreatedTime(Date createdTime) {
        this.createdTime = createdTime;
    }

    public String getLastUpdatedBy() {
        return lastUpdatedBy;
    }

    public void setLastUpdatedBy(String lastUpdatedBy) {
        this.lastUpdatedBy = lastUpdatedBy;
    }

    public Date getLastUpdatedTime() {
        return lastUpdatedTime;
    }

    public void setLastUpdatedTime(Date lastUpdatedTime) {
        this.lastUpdatedTime = lastUpdatedTime;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

}